/*
========================================================================
 Name        : ExportContactsStartContainer.h
 Author      : autonavi.com
 Copyright   : autonavi.com,All Right Reserved!
 Description : 
========================================================================
*/
#ifndef EXPORTCONTACTSSTARTCONTAINER_H
#define EXPORTCONTACTSSTARTCONTAINER_H

 
#include <coecntrl.h>		
#include <akniconutils.h>

class MEikCommandObserver;		
 
class CExportContactsStartContainer : public CCoeControl
{
public: 
	enum TControls
	{	
		ELastControl
	};
	
public:	 
	CExportContactsStartContainer();
	static CExportContactsStartContainer* NewL( const TRect& aRect, const CCoeControl* aParent, MEikCommandObserver* aCommandObserver );
	static CExportContactsStartContainer* NewLC( const TRect& aRect, const CCoeControl* aParent, MEikCommandObserver* aCommandObserver );
	void ConstructL( const TRect& aRect, const CCoeControl* aParent, MEikCommandObserver* aCommandObserver );
	virtual ~CExportContactsStartContainer();

public:	 
	TInt CountComponentControls() const;
	CCoeControl* ComponentControl( TInt aIndex ) const;
	TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
	void HandleResourceChange( TInt aType );
	void LoadSplashIcon();
	static CGulIcon* LoadAndScaleIconL( const TDesC& aFileName,
										TInt aBitmapId,									 
										TSize* aSize,
										TScaleMode aScaleMode );
protected:	 
	void SizeChanged(); 
	void Draw( const TRect& aRect ) const;

private:
	void InitializeControlsL();
	void LayoutControls();
	
private:
	void StartSplash();
	static TInt SplashCallback(TAny* aPtr);
	
private:
	CCoeControl*         iFocusControl;
	MEikCommandObserver* iCommandObserver;
	CGulIcon*            iSpalshIcon;
	CPeriodic*			 iSpalshTimer;
	TInt                 iSpalshCount;
};
				
#endif // EXPORTCONTACTSSTARTCONTAINER_H
